package org.ala.tiktools.sharddb.mybatis.double_write;

import java.lang.reflect.Method;
import java.util.Map;

import org.ala.tiktools.sharddb.mybatis.executor.ShardExecutor;
import org.ala.tiktools.sharddb.mybatis.router.ShardInfo;


/**
 * 双写接口
 * <p>  需要自行保证一致性
 *
 * @author ala
 * @date 2025-02-27 12:12
 */
public interface IDoubleWriter {
    /**
     *  执行新路由
     *  @param results   原老路由的执行结果
     */
    void invoke(Object proxy, Method method, Map<ShardInfo, Object[]> args, Map<ShardInfo, ShardExecutor.Result> results);
}
